package com.ly.service;

import com.ly.pojo.domain.ConfigDO;
import com.ly.pojo.domain.MaintenanceLogDO;
import com.ly.pojo.dto.BackupDTO;
import com.ly.pojo.dto.ConfigDTO;
import com.ly.pojo.dto.MaintenanceLogDTO;
import com.ly.pojo.dto.OperationLogDTO;
import com.ly.pojo.query.ConfigQuery;
import com.ly.pojo.query.MaintenanceLogQuery;
import java.lang.Boolean;
import java.util.List;

/**
 * 系统配置管理模块
 *
 * @author Administrator
 * @date 2025-03-07 10:51:13
 */
public interface ConfigService {

    /**
     * 修改系统配置
     *
     * @param configDTO 修改系统配置入参
     * @return
     */
    Boolean updateConfig(ConfigDTO configDTO);

    /**
     * 获取系统配置
     *
     * @param configQuery 获取系统配置入参
     * @return  系统配置实体
     */
    ConfigDO getConfig(ConfigQuery configQuery);

    /**
     * 创建数据备份
     *
     * @param backupDTO 数据备份入参
     * @return
     */
    Boolean createBackup(BackupDTO backupDTO);

    /**
     * 恢复数据备份
     *
     * @param backupDTO 数据备份入参
     * @return
     */
    Boolean restoreBackup(BackupDTO backupDTO);

    /**
     * 记录系统维护日志
     *
     * @param logDTO 记录系统维护日志入参
     * @return
     */
    Boolean recordMaintenanceLog(MaintenanceLogDTO logDTO);

    /**
     * 获取系统维护日志
     *
     * @param logQuery 获取系统维护日志入参
     * @return
     */
    List<MaintenanceLogDO> getMaintenanceLogs(MaintenanceLogQuery logQuery);

    /**
     * 记录后台操作日志
     *
     * @param logDTO 记录后台操作日志入参
     * @return
     */
    Boolean recordOperationLog(OperationLogDTO logDTO);
}
